package epoch.game.core.net;

import epoch.game.core.handler.IMessageHandler;
import epoch.game.core.message.IMessage;

/**
 * 消息注册器
 * @author will
 * @date 2015年11月25日 下午2:21:36
 */
public interface IMessageBus {
	/**
	 * 获取消息处理器
	 * 
	 * @param msgClass
	 * @return
	 */
	public <M extends IMessage> IMessageHandler<M> getHandler(Class<M> msgClass);

	/**
	 * 根据消息id，获取对应的消息
	 * @param msgId
	 * @return
	 */
	public <M extends IMessage> M getMessage(int msgId);
}
